#include <iostream>
#include <vector>

int const maxn = 10000000;
bool nself[2*maxn];

int sum_digit(int x)
{
	int s = 0;
	for (; x; x /= 10) s += (x % 10);
	return s;
}

int main()
{

	std::vector<int> ans;
	for (int i = 1; i <= maxn; i++)
		nself[i + sum_digit(i)] = true;
	for (int i = 1; i <= maxn; i++)
		if (!nself[i]) ans.push_back(i);
	std::cout << ans.size() << "\n";


	for (int i = 1; i <= (int)ans.size(); i++)
		std::cout << i << " : " << ans[i-1] << "\n";

	/*
	for (int i = 1; i < ans.size(); i++) {
		int t = ans[i] - ans[i-1];
		std::cout << t << " ";
		if (t != 11) std::cout << "\n";
		if (t == 54) return 0;
	}
	std::cout << ans.size() << "\n";


	int t2 = 0;
	for (int i = 1; i < ans.size(); i++) {
		int t = ans[i] - ans[i-1];
		if (t == 2) {
			t2++;
		} else if (t != 11 && t != 28 && t != 41){
			std::cout << "--2: " << t2 << "\n";
			t2 = 0;
			std::cout << t <<  "\n";
		}
	}
	std::cout << ans.size() << "\n";
	*/
}

